Aircraft contrail detection

ABSTRACT

Concepts and technologies described herein provide for the detection of aircraft contrails through the identification of contrail shadows in real time imagery provided during a flight. According to one aspect of the disclosure provided herein, aircraft flight data is received at a contrail detection computer. This data is used to locate an antisolar point on a surface of the earth from the perspective of the aircraft in flight. Real time imagery of an opaque or semi-opaque surface below the aircraft that encompasses the antisolar point is received and analyzed for a contrail indicator. When the contrail indicator is detected, it is determined that the aircraft is creating a contrail.

FIELD OF THE DISCLOSURE

This disclosure relates generally to aircraft observability. Thisdisclosure relates more specifically to detection of an aircraftcondensation trail.

BACKGROUND

Condensation trails (contrails) are visible trails of water vapor thatare created from aircraft engine exhaust. Contrails are often visible aswhite cloudy streaks across the sky, indicating a path recently traveledby an aircraft. The visibility of contrails, including the duration oftime in which contrails remain visible before dissipating, is dependentupon various atmospheric conditions surrounding the aircraft, includingamong others, air temperature, barometric pressure, and humidity.

Because aircraft contrails form directly behind an aircraft and may bevisible from anywhere from seconds to hours, contrails create a visualreference that points directly to the aircraft that creates them. Anyonethat sees a contrail only has to follow the contrail to the end to seethe aircraft that is the source of the contrail. For commercial andprivate aviation, this phenomenon is not a problem. However, forlow-observable aircraft that are designed to avoid detection, a contrailcan be a significant problem.

When a pilot of a low-observable aircraft determines that a contrail isbeing created, he or she can take any number of actions to prevent theformation of the contrail. Therefore, early detection of the contrailformation can be critically important to the pilot. Conventionally,contrail detection requires the use of one or more dedicated sensors,cameras, computers or other equipment mounted in the rear of anaircraft. Equipment positioned in the rear of an aircraft often resultin the need for weight to be added to the front of the aircraft forstability purposes. While effective, a disadvantage to this dedicatedequipment is the additional cost and weight associated with theequipment. Moreover, rearward facing cameras require windows in aircraftskin, which add to the cost and present additional low-observabilityissues.

It is with respect to these considerations and others that thedisclosure made herein is presented.

SUMMARY

It should be appreciated that this Summary is provided to introduce aselection of concepts in a simplified form that are further describedbelow in the Detailed Description. This Summary is not intended to beused to limit the scope of the claimed subject matter.

Concepts and technologies described herein provide for the detection ofaircraft contrails through the identification of contrail shadows inreal time imagery provided during a flight. According to one aspect ofthe disclosure provided herein, aircraft flight data is received at acontrail detection computer. This data is used to locate an antisolarpoint on a surface of the earth. Real time imagery of a surface belowthe aircraft, such as a cloud deck, the surface of the earth, or anyother opaque or semi-opaque object or structure that encompasses theantisolar point, is received and analyzed for a contrail indicator. Whenthe contrail indicator is detected, it is determined that the aircraftis creating a contrail.

According to another aspect, a system for detecting a contrail of anaircraft includes a processor, a memory coupled to the processor, and aprogram module that executes in the processor from memory to cause thesystem to detect the aircraft contrail. In doing so, the program modulereceives aircraft flight data that corresponds to one or more aircraftflight parameters and to the position of the sun or moon. This data isused to determine an antisolar point and an aircraft flight vector. Realtime imagery is received and the flight vector is superimposed onto theimagery at the antisolar point. The program module determines whether ashadow exists along the flight vector in the real time imagery and ifso, determines that the aircraft is creating a contrail.

According to yet another aspect of the disclosure, a computer-readablestorage medium includes instructions that cause a computer to detect anaircraft contrail. Aircraft flight data corresponding to flightparameters and to a position of the sun or moon is received and used todetermine an antisolar point and an aircraft flight vector. Real timeimagery encompassing the antisolar point is received and the flightvector is superimposed on the imagery at the antisolar point. Thecomputer-executable instructions cause the computer to then determinewhether a shadow of the contrail exists along the aircraft flightvector. In response to determining that a shadow exists along the flightvector, it is determined that a contrail is being created by theaircraft.

The features, functions, and advantages that have been discussed can beachieved independently in various embodiments of the present disclosureor may be combined in yet other embodiments, further details of whichcan be seen with reference to the following description and drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1A is a rear view of an aircraft in flight, illustrating anantisolar point on a cloud deck and the earth below the aircraftaccording to various embodiments presented herein;

FIG. 1B is a side view of the aircraft in flight of FIG. 1A, showing acontrail and corresponding shadow of the contrail on the cloud deckbelow the aircraft according to various embodiments presented herein;

FIG. 2 is a perspective view from the aircraft of FIGS. 1A and 1Bshowing the contrail and aircraft shadows on the cloud deck according tovarious embodiments presented herein;

FIG. 3 is a block diagram illustrating a contrail detection systemaccording to various embodiments presented herein;

FIG. 4A is a perspective view from the aircraft of FIGS. 1A and 1Bshowing upper and lower threshold boundary vectors according to oneembodiment presented herein;

FIG. 4B is a perspective view from the aircraft of FIGS. 1A and 1Bshowing upper and lower threshold boundary vectors according to analternative embodiment presented herein;

FIGS. 5A-5C are perspective views from the aircraft of FIGS. 1A and 1Bshowing the effects of increasing contrast within the real time imageryto aid in the search between upper and lower threshold boundary vectorsfor the contrail shadow according to various embodiments presentedherein;

FIG. 6 is a flow diagram showing a method for detecting an aircraftcontrail according to various embodiments presented herein; and

FIG. 7 is a block diagram showing an illustrative computer hardware andsoftware architecture for a computing system capable of implementingaspects of the embodiments presented herein.

DETAILED DESCRIPTION

The following detailed description is directed to methods and systemsfor detecting aircraft contrails. As discussed above, when stealth is aconcern, a pilot needs to be aware of whether or not his or her aircraftis creating a contrail. Conventionally, contrail detection requireddedicated equipment installed in the rear of the aircraft facing thecontrail. However, utilizing dedicated equipment adds undesirable weightand cost to the aircraft.

Utilizing the concepts and technologies described herein, contraildetection can be accomplished using pre-existing cameras or otheroptical sensors, as well as pre-existing processing capabilities. Realtime imagery is examined for shadows created by contrails. Thedetermination of where to search within the imagery is made usingvarious flight data input corresponding to the aircraft flightparameters and location, as well as the position of the sun or moon.

In the following detailed description, references are made to theaccompanying drawings that form a part hereof, and which are shown byway of illustration, specific embodiments, or examples. Like numeralsrepresent like elements through the several figures. Referring now toFIGS. 1A and 1B, an illustrative environment 100 in which variousembodiments described herein are applicable will be described. Thisillustrative environment 100 includes an aircraft 102 flying over theearth 104 and a cloud deck 106. In this example, the illustrativeenvironment 100 occurs during daylight hours, so the sun 108 is shiningon the aircraft 102 with no additional clouds between the aircraft 102and the sun 108. It should be understood that the concepts describedherein are equally applicable to night environments in which the moon(not shown) casts light on the aircraft 102.

An antisolar point 110 is a point on the earth from the perspective of aviewer or camera that is directly opposite the sun. In other words, if aperson were to draw a line or vector from the sun to the earth thatintersects the person's head, the point on the earth at which the linefalls is the antisolar point. From that person's perspective, theantisolar point would be the location of the shadow of his or her headon the ground or other opaque or semi-opaque object on which the shadowfalls. FIG. 1A shows the antisolar point 110 at the location it falls onthe earth 104. It should be noted that in this illustrative environment100, the cloud deck 106 is positioned between the aircraft 102 and theantisolar point 110 on the surface of the earth 104. The broken line inthis figure further illustrates the alignment of the aircraft 102,antisolar point 110, and sun 108.

As seen in FIG. 1B, the aircraft shadow 116 falls on the cloud deck 106at a position that is aligned with the antisolar point 110. If theaircraft 102 is creating a contrail 112, then the contrail 112 will alsocreate a shadow 114 on the cloud deck 106 or any other opaque orsemi-opaque surface below the aircraft 102. This contrail shadow 114will be directly behind the antisolar point 110 and aligned with thedirection of flight of the aircraft 102. As will become clear from thedisclosure below, by knowing the location of the antisolar point 110,and the direction of flight of the aircraft 102, then the location ofany shadow being created by a contrail 112, if it exists, can bedetermined.

FIG. 2 shows a view from the aircraft 102 in the direction of lines A-Ashown in FIGS. 1A and 1B. If a person were looking out of a window ofthe aircraft 102 in the direction of the antisolar point 110, or if acamera or other optical sensor were filming video or still imagery, FIG.2 shows an illustrative example of what could be viewed from theperspective shown. In this example, the cloud deck 106 is seen with theearth 104 visible beyond and underneath the cloud deck 106. The aircraftshadow 116 is shown at a location on the cloud deck 106 that is alignedwith the antisolar point 110, with the contrail shadow 114 trailingbehind.

It should be understood that the aircraft shadow 116 and contrail shadow114 are clearly illustrated in black in FIG. 2. However, in practice,depending on any number of factors, including but not limited to thetime of day, height of the aircraft 102 above the cloud deck 106, anynumber and type of current atmospheric conditions, andclarity/definition of the contrail 112 being created, these shadows maynot exist, may exist as clearly as shown, or in many situations, mayexist but be substantially less defined and clear as those shown in FIG.2. As will be illustrated below, the embodiments described below may beutilized to detect the contrail shadow 114 when it exists in any stateof clarity.

FIG. 2 additionally shows a glory 202, or halo, surrounding the aircraftshadow 116 at the antisolar point 110. A glory is an atmosphericphenomenon that occurs in some circumstances when light is backscatteredback toward the viewer, and the light source, by water particles in theair. This phenomenon occurs when the viewer is looking directly at theantisolar point so that the sun or other light source is directly behindthe viewer. Glories, which are sometimes called halos, appear as ringsof colored light, similar to rainbows. The glory 202 is shown here toillustrate that even when the aircraft shadow 116 is not easily seen,there could be a glory 202 that indicates the antisolar point 110 fromwhich the contrail shadow 114 may extend. It should be appreciated thatwhile the contrail detection system described below computes theantisolar point 110, it could optionally and additionally identify aglory 202, if one exists, using imaging filters and/or color recognitiontechniques, for aiding in the set up of a search area in which to lookfor the contrail shadow 114. However, it should also be appreciated thatthe embodiments described herein are not dependent on the existence ofor identification of a glory 202.

Turning now to FIG. 3, a contrail detection system 300 will bedescribed. An overview of the functionality of the contrail detectionsystem 300 and associated components will be given with respect to FIG.3, with greater detail provided while discussing the illustrativeexamples shown in FIGS. 4A-5C. According to various embodiments, thecontrail detection system 300 includes a contrail detection computer302, a global positioning system (GPS) device 304, one or more opticalsensors 306, and a contrail notification device 308. It should beappreciated that one benefit of the disclosure provided herein overconventional contrail detection systems is that dedicated equipment isnot required. Accordingly, while the contrail detection computer 302could be a dedicated computer located anywhere in the aircraft 102,according to various embodiments, the contrail detection computer 302may be part of any conventional flight computer, such as existingcomputers related to aircraft control systems, environmental systems,communications systems, weapon systems, radar systems, and/ornavigational systems.

The contrail detection computer 302 receives and utilizes aircraftflight data 310 from the GPS device 304 and real time imagery 312 fromthe optical sensor 306 to determine whether a contrail shadow 114exists, and if so, provides notification to the contrail notificationdevice 308. It should be appreciated that the contrail notificationdevice 308 may be any device that provides a visual, audible, or tactilenotification to the pilot or a member of the flight crew that a contrail112 exists. For example, the contrail notification device 308 mayinclude a warning light or textual notification on a cockpit display, anaudible tone delivered to a pilot's headset, a vibration input to anaircraft control stick, or any combination thereof.

The aircraft flight data 310 may include any type and quantity of datarelating to the flight of the aircraft 102 and/or the environment, suchas information related to positioning of the sun or other light source.The aircraft flight data 310 may be provided at least in part by a GPSdevice. According to various embodiments, the aircraft flight data 310may include the time of day 314, the position 316 of the sun 108 ormoon, the current position 318 of the aircraft 102, the current speed320 of the aircraft 102 (groundspeed or otherwise), and the currentheading 322 of the aircraft 102. The contrail detection computer 302receives the aircraft flight data 310 from the GPS device 304 andutilizes the data to calculate the antisolar point 110 and an aircraftflight vector 324 corresponding to the speed and heading of the aircraft102.

As discussed above, the antisolar point 110 may be determined accordingto the position of the sun 108 and of the aircraft 102. For example,typical GPS devices 304 are operative to provide a current time of day314 and the position 316 of the sun 108, or data that may be used tocalculate the position 316 of the sun 108. Knowing the exact date andtime of day 314, the precise positioning of the sun 108 can be easilycalculated using known techniques, or retrieved by the contraildetection computer 302 from celestial data stored in memory. With theposition 316 of the sun known and the real time X/Y/Z coordinates of theaircraft position 318, the contrail detection computer 302 can determinethe antisolar point 110 by extrapolating a line from the sun 108 to theaircraft 102 to intersect the earth at the antisolar point 110.

With the aircraft position 318, speed 320, and heading 322, the contraildetection computer 302 can create an aircraft flight vector 324 that maybe associated with the antisolar point 110 to approximate where thecontrail shadow 114 may be located with respect to the antisolar point110. The contrail detection computer 302 receives real time imagery 312from one or more optical sensors 306. The optical sensors 306 mayinclude video and/or still image cameras mounted on or within theaircraft 102. These optical sensors 306 may be a part of an existingaircraft system. For example, a distributed aperture system (DAS) thatincludes a number of sensors for detecting and tracking missile launchesand other aircraft, among other functionality, may be used to providereal time imagery 312 to the contrail detection computer 302. Similarly,the processing capabilities of existing DAS and other systems, as statedabove, may be used to perform the operations described herein as beingperformed by the contrail detection computer 302.

The contrail detection computer 302 requests and receives the real timeimagery 312 from the optical sensors 306 corresponding to the portion ofthe surrounding environment that encompasses the antisolar point 110.The aircraft flight vector 324 may be superimposed on the real timeimagery such that it extends behind the antisolar point 110. From theaircraft flight vector 324, the contrail detection computer 302 maycreate and superimpose threshold boundary vectors 326 onto the real timeimagery 312 to create real time contrail imagery 328 having a definedsearch area that will be analyzed for a contrail indicator representinga contrail shadow 114. Using image filtering and edge detectiontechniques, an edge detection application 330 looks for a substantiallyconsistent contrast between the threshold boundary vectors 326 thatwould serve as a contrail indicator corresponding to the edge of acontrail shadow 114. If found, notification is provided to the contrailnotification device 308 in a manner described above.

Referring to FIG. 4A, the establishment of search parameters and thereal time contrail imagery 328 will now be discussed. Once the contraildetection computer 302 has created the aircraft flight vector 324, itmay be superimposed onto the real time imagery 312 starting at theantisolar point 110 and extending rearward in the direction of thedetermined flight path. When positioned on the real time imagery 312,the aircraft flight vector 324 approximates the positioning of thecontrail shadow 114 since the contrail 112 is created in the path of theaircraft 102. Optionally, an antisolar point indictor 404 may be used toindicate the location of the antisolar point 110. The antisolar pointindicator 404 may be sized to extend outward a desired distancesurrounding the antisolar point 110 since the contrail 112 is formed adistance behind the aircraft 102 rather than immediately at the aircraft102.

It should be understood that the term “superimposed” is not to beconstrued to be limited to creating a visual depiction of the aircraftflight vector 324 or any other component on the real time imagery so asto create real time contrail imagery 328 on a display for a pilot orother flight crew member that resembles the illustrative examples shownin FIGS. 4A-5C. While this visual depiction and display is contemplated,alternatively, the positioning of the antisolar point 110, aircraftflight vector 324, and/or the threshold boundary vectors 326 on the realtime imagery 312 to create the search area of the real time contrailimagery 328, takes place virtually within the processor of the contraildetection computer 302, with any resulting contrail 112 detection beingprovided as a notification to the pilot via the contrail notificationdevice 308.

Returning to FIG. 4A, in order to detect the contrail shadow 114, thedisclosure provided herein utilizes edge detection technology,specifically the edge detection application 330, to detect the edge ofthe contrail shadow using the contrast between the darker shadow and thelighter opaque or semi-opaque backdrop, such as the cloud deck 106 orthe surface of the earth 104. To detect this edge 406, the edgedetection application 330 should search not only along the aircraftflight vector 324, but also around the aircraft flight vector. Due tovariations in the size of any contrail 112, as well as inconsistenciesof the location of the contrail shadow 114 and the aircraft flightvector 324 due to the potential for winds shifting the location of thecontrail shadow 114, searching only along the superimposed aircraftflight vector 324 may not reveal a contrail indicator. For example, aparticularly wide contrail 112 due to atmospheric conditions, distancebetween the contrail 112 and the contrail shadow 114, and/or dissipationof the contrail 112 may result in a wide shadow 114. A search for anedge 406 of the contrail shadow 114 along a narrow aircraft flightvector 324 may not produce any results. Consequently, aspects of thisdisclosure provide for a broader search area in which to search for thevarying contrast that would indicate an edge 406 to a contrail shadow114.

The search area may be defined by the antisolar point indicator 404,opposing threshold boundary vectors 326, and an edge of the real timecontrail imagery 328 that opposes the direction of flight. According tothe embodiment shown in FIG. 4A, the threshold boundary vectors 326include an upper threshold boundary vector 326A and a lower thresholdboundary vector 326B. Each threshold boundary vector 326 is positioned adistance 408 from the aircraft flight vector 324. The distance 408 maybe fixed according to a desired threshold that balances a likelihood ofsuccess with the processing power and time required for larger searchareas. Moreover, the distance 408 may be based on any number of flightparameters similar to those described above that affect the positioningof the contrail shadow 114, such as atmospheric conditions, distancebetween the contrail 112 and the contrail shadow 114, and/or dissipationof the contrail 112. The distance 408 may be fixed for all portions ofthe flight, or may dynamically change depending on changing atmosphericor flight conditions, mission requirements, and/or system resourceallocation.

FIG. 4B illustrates an alternative embodiment of the real time contrailimagery 328 in which the threshold boundary vectors are not positioned afixed distance 408 from the aircraft flight vector 324. Rather, theupper threshold boundary vector 326A is positioned an angular distance410 from the aircraft flight vector 324 as rotated upward from theantisolar point 110 in a positive or clockwise direction. Similarly, thelower threshold boundary vector 326B is positioned a negative angulardistance 410 from the aircraft flight vector 324 as rotated downwardfrom the antisolar point 110 in a negative or counter-clockwisedirection. In doing so, the search distance between the upper and lowerthreshold boundary vectors 326A and 326B increases as the distance fromthe antisolar point 110 increases. One reason for this is that thecontrail shadow 114 is likely to be more clearly defined closer to theaircraft 102, which translates into a more clearly defined edge contrastat or near the aircraft flight vector 324 close to the antisolar point110.

Looking now at FIGS. 5A-5C, an illustrative example of the manipulationof real time contrail imagery 328 to enhance the contrast between thecontrail shadow 114 and the cloud deck 106 is shown. This imagemanipulation aids the edge detection application 330 in detecting theedge 406 of the shadow 114. From FIG. 5A to FIG. 5C, the contrast isincreased to darken the features of the contrail shadow 114 incomparison to the surrounding surface of the cloud deck 106. While theenvironmental features and details within the real time contrail imagery328 have been simplified for clarity, it can be seen from theprogression of contrast modification from FIG. 5A to FIG. 5C that realtime images can be manipulated using known techniques to reduce unwantednoise or clutter, and/or to heighten features to be detected by edgedetection software such as the edge detection application 330. It shouldbe appreciated that any number of filtering techniques may be applied tothe real time contrail imagery 328 in order to enhance the image in anydesired manner.

Turning now to FIG. 6, an illustrative routine 600 for detectingaircraft contrails will now be described in detail. It should beappreciated that the logical operations described herein with respect toFIG. 6 and the other figures are implemented (1) as a sequence ofcomputer implemented acts or program modules running on a computingsystem and/or (2) as interconnected machine logic circuits or circuitmodules within the computing system. The implementation is a matter ofchoice dependent on the performance and other requirements of thecomputing system. Accordingly, the logical operations described hereinare referred to variously as states operations, structural devices,acts, or modules. These operations, structural devices, acts and modulesmay be implemented in software, in firmware, in special purpose digitallogic, and any combination thereof. It should also be appreciated thatmore or fewer operations may be performed than shown in the figures anddescribed herein. These operations may also be performed in a differentorder than those described herein.

The routine 600 begins at operation 602, where the contrail detectioncomputer 302 determines the antisolar point 110 utilizing the aircraftflight data 310 received from the GPS device 304. The contrail detectioncomputer 302 receives real time imagery 312 that encompasses theantisolar point 110 at operation 604. From operation 604, the routine600 continues to operation 606, where the contrail detection computer302 creates the aircraft flight vector 324. The vector may be createdusing the current aircraft position 318, speed 320, and heading 322, andpositioned on the real time imagery 312 such that the vector ends at theantisolar point 110.

The routine 600 continues from operation 606 to operation 608, where theupper and lower threshold boundary vectors 326A and 326B are created andpositioned on the real time imagery 312. As discussed above, thethreshold boundary vectors 326 may be placed a fixed distance 408 fromeither side of the aircraft flight vector 324, or may be rotated anangular distance 410 from the antisolar point 110 away from the aircraftflight vector 324. From operation 610, the routine 600 continues tooperation 612, where a search is conducted within the defined searcharea for a contrail indicator such as a consistent contrast differencealong the direction of the aircraft flight vector 324. Such a differencein contrast could indicate an edge of a contrail shadow 114. Adetermination is made as to whether a contrail indicator was found, andif so, then at operation 614, notification is made via a contrailnotification device 308 that a contrail 112 exists, and the routineends.

However, if at operation 612, a contrail indicator is not identified,then the routine 600 proceeds to operation 616 and any number of imagingfilters are adjusted to enhance the real time contrail imagery 328.Following the example discussed above, the contrast of the image may beincreased to darken the areas that potentially represent a contrailshadow 114. After adjustment has been made to the real time contrailimagery 328, the routine 600 returns to operation 610 and continues asdescribed above until a contrail 112 is detected.

FIG. 7 shows an illustrative computer architecture for a contraildetection computer 302 capable of executing the software componentsdescribed herein. The computer architecture shown in FIG. 7 may beutilized to execute any aspects of the software components presentedherein. It is contemplated that the contrail detection computer 302 maynot include all of the components shown in FIG. 7, may include othercomponents that are not explicitly shown in FIG. 7, or may utilize anarchitecture completely different than that shown in FIG. 7. Forexample, as discussed above, the contrail detection computer 302 mayadditionally provide the functionality of any conventional flightcomputer, such as related to aircraft control systems, environmentalsystems, communications systems, weapon systems, radar systems, and/ornavigational systems.

The computer architecture shown in FIG. 7 includes a central processingunit 702 (CPU), a system memory 708, including a random access memory714 (RAM) and a read-only memory (ROM) 716, and a system bus 704 thatcouples the memory to the CPU 702. A basic input/output systemcontaining the basic routines that help to transfer information betweenelements within the contrail detection computer 302, such as duringstartup, is stored in the ROM 716. The contrail detection computer 302further includes a mass storage device 710 for storing an operatingsystem 718, application programs, and other program modules, which aredescribed in greater detail herein.

The mass storage device 710 is connected to the CPU 702 through a massstorage controller (not shown) connected to the bus 704. The massstorage device 710 and its associated computer readable storage mediaprovide non-volatile storage for the contrail detection computer 302.Although the description of computer readable storage media containedherein refers to a mass storage device, such as a hard disk or CD-ROMdrive, it should be appreciated by those skilled in the art thatcomputer storage media can be any available computer storage media thatcan be accessed by the contrail detection computer 302.

By way of example, and not limitation, computer readable storage mediamay include volatile and non-volatile, removable and non-removable mediaimplemented in any method or technology for storage of information suchas computer readable and executable instructions, data structures,program modules or other data. For example, computer storage mediaincludes, but is not limited to, RAM, ROM, EPROM, EEPROM, flash memoryor other solid state memory technology, CD-ROM, digital versatile disks(DVD), HD-DVD, BLU-RAY, or other optical storage, magnetic cassettes,magnetic tape, magnetic disk storage or other magnetic storage devices,or any other medium which can be used to store the desired informationand which can be accessed by the contrail detection computer 302.

According to various embodiments, the contrail detection computer 302may operate in a networked environment using logical connections toremote computers through a network such as the network 720. The contraildetection computer 302 may connect to the network 720 through a networkinterface unit 706 connected to the bus 704. It should be appreciatedthat the network interface unit 706 may also be utilized to connect toother types of networks and remote computer systems. The contraildetection computer 302 may also include an input/output controller 712for receiving and processing input from a number of other devices,including a keyboard, mouse, or electronic stylus (not shown in FIG. 7).Similarly, an input/output controller may provide output to a display, aprinter, or other type of output device.

As mentioned briefly above, a number of program modules and data filesmay be stored in the mass storage device 710 and RAM 714 of the contraildetection computer 302, including an operating system 718 suitable forcontrolling the operation of a networked desktop, laptop, or servercomputer. The mass storage device 710 and RAM 714 may also store one ormore program modules. In particular, the mass storage device 710 and theRAM 714 may store the edge detection application 330, which wasdescribed in detail above with respect to FIGS. 3-6. The mass storagedevice 710 and the RAM 714 may also store other types of program modulesand data.

It should be appreciated that the software components described hereinmay, when loaded into the CPU 702 and executed, transform the CPU 702and the overall contrail detection computer 302 from a general-purposecomputing system into a special-purpose computing system customized tofacilitate the functionality presented herein. The CPU 702 may beconstructed from any number of transistors or other discrete circuitelements, which may individually or collectively assume any number ofstates. More specifically, the CPU 702 may operate as a finite-statemachine in response to executable instructions contained within thesoftware modules disclosed herein. These computer-executableinstructions may transform the CPU 702 by specifying how the CPU 702transitions between states, thereby transforming the transistors orother discrete hardware elements constituting the CPU 702.

Based on the foregoing, it should be appreciated that technologies forproviding for contrail detection have been disclosed herein. Althoughthe subject matter presented herein has been described in languagespecific to computer structural features, methodological andtransformative acts, specific computing machinery, and computer readablemedia, it is to be understood that the disclosure defined in theappended claims is not necessarily limited to the specific features,acts, or media described herein. Rather, the specific features, acts andmediums are disclosed as example forms of implementing the claims.

The subject matter described above is provided by way of illustrationonly and should not be construed as limiting. Various modifications andchanges may be made to the subject matter described herein withoutfollowing the example embodiments and applications illustrated anddescribed, and without departing from the true spirit and scope of thepresent disclosure, which is set forth in the following claims.

What is claimed is:
 1. A computer-implemented method for detecting acontrail of an aircraft with a contrail detection computer, comprising:receiving aircraft flight data at the contrail detection computer;utilizing the aircraft flight data to locate an antisolar point from aperspective of the aircraft; receiving real time imagery at the contraildetection computer of an opaque or semi-opaque surface encompassing theantisolar point; analyzing the real time imagery for detection of acontrail indicator; and in response to detecting the contrail indicator,determining that the contrail is being created by the aircraft.
 2. Thecomputer-implemented method of claim 1, wherein the aircraft flight datacomprises time of day data, sun or moon position data, and aircraftposition data.
 3. The computer-implemented method of claim 1, whereinutilizing the aircraft flight data to locate the antisolar point from aperspective of the aircraft comprises determining a location on asurface of the earth that is aligned with the aircraft and the sun ormoon.
 4. The computer-implemented method of claim 1, wherein the opaqueor semi-opaque surface below the aircraft comprises a cloud deck.
 5. Thecomputer-implemented method of claim 1, wherein the opaque orsemi-opaque surface below the aircraft comprises a surface of the earth.6. The computer-implemented method of claim 1, wherein receiving realtime imagery at the contrail detection computer of the opaque orsemi-opaque surface encompassing the antisolar point comprises receivingreal time imagery from one or more optical sensors mounted on or withinthe aircraft and directed in a direction of the antisolar point.
 7. Thecomputer-implemented method of claim 1, further comprising: utilizingthe aircraft flight data to create a flight vector extending from theantisolar point; and associating the antisolar point and the flightvector with corresponding locations on the real time imagery, whereinanalyzing the real time imagery for detection of the contrail indicatorcomprises searching the real time imagery for the contrail indicatorsubstantially along the flight vector.
 8. The computer-implementedmethod of claim 7, wherein searching the real time imagery for thecontrail indicator along the flight vector comprises: creating an upperthreshold boundary vector extending from the antisolar point a thresholddistance above the flight vector or a threshold positive angle from theantisolar point; creating a lower threshold boundary vector extendingfrom the antisolar point a threshold distance below the flight vector ora threshold negative angle from the antisolar point; and searching forthe contrail indicator between the upper threshold boundary vector andthe lower threshold boundary vector.
 9. The computer-implemented methodof claim 8, wherein the contrail indicator comprises an edge of a shadowcorresponding to the contrail.
 10. The computer-implemented method ofclaim 9, wherein the edge of the shadow is defined by a substantiallyconsistent difference in contrast aligned substantially parallel to theflight vector.
 11. The computer-implemented method of claim 10, furthercomprising manipulating the contrast of the real time imagery to enhancea difference in contrast between the edge of the shadow and the opaqueor semi-opaque surface below the aircraft.
 12. The computer-implementedmethod of claim 1, further comprising providing a notification to apilot that the contrail is being created.
 13. A system for detecting acontrail of an aircraft, the system comprising: a processor; a memorycoupled to the processor; and a program module (i) which executes in theprocessor from the memory and (ii) which, when executed by theprocessor, causes the system to detect the contrail of the aircraft byreceiving aircraft flight data corresponding to one or more aircraftflight parameters and to a position of the sun or moon, determining anantisolar point according to the aircraft flight data, determining anaircraft flight vector according to the one or more aircraft flightparameters, receiving real time imagery encompassing the antisolarpoint, superimposing the aircraft flight vector on the real time imageryat the antisolar point, determining whether a shadow exists in the realtime imagery substantially along the aircraft flight vector, andresponsive to determining that the shadow exists substantially along theaircraft flight vector, determining that the aircraft is creating acontrail.
 14. The system of claim 13, wherein the aircraft flight datacomprises data corresponding to a position of the aircraft and to aposition of the sun or moon.
 15. The system of claim 14, whereindetermining the antisolar point according to the aircraft flight datacomprises determining a location on a surface of the earth that is inlinear alignment with the aircraft and the sun or the moon.
 16. Thesystem of claim 13, wherein the program module, when executed by theprocessor, further causes the system to detect the contrail of theaircraft by creating an upper threshold boundary vector extending fromthe antisolar point a threshold distance above the flight vector or athreshold positive angle from the antisolar point, creating a lowerthreshold boundary vector extending from the antisolar point a thresholddistance below the flight vector or a threshold negative angle from theantisolar point, and searching for the contrail indicator between theupper threshold boundary vector and the lower threshold boundary vector.17. The system of claim 13, wherein the program module, when executed bythe processor, further causes the system to detect the contrail of theaircraft by enhancing a contrast between the shadow of the contrail andan opaque or semi-opaque surface beneath the aircraft, and determiningwhether a shadow exists in the real time imagery substantially along theaircraft flight vector by detecting an edge of the shadow according to adifference in contrast between the edge of the shadow and the opaque orsemi-opaque surface.
 18. The system of claim 13, further comprising: aglobal positioning system device configured to provide the aircraftflight data to the program module; and one or more optical sensorsmounted on or within the aircraft, the one or more optical sensorsconfigured to provide the real time imagery to the program module.
 19. Anon-transitory computer-readable storage medium havingcomputer-executable instructions stored thereon which, when executed bya computer, cause the computer to: receive aircraft flight datacorresponding to one or more aircraft flight parameters and to aposition of the sun or moon, determine an antisolar point according tothe aircraft flight data, determine an aircraft flight vector accordingto the one of more aircraft flight parameters, receive real time imageryencompassing the antisolar point, superimpose the aircraft flight vectoron the real time imagery, determine whether a shadow exists in the realtime imagery substantially along the aircraft flight vector, andresponsive to determining that the shadow exists substantially along theaircraft flight vector, determine that the aircraft is creating acontrail.
 20. The non-transitory computer-readable storage medium ofclaim 19, further comprising computer-executable instructions storedthereon which, when executed by the computer, further cause the computerto: manipulate one or more characteristics of the real time imagery toenhance a visible distinction between the shadow of the contrail and anopaque or semi-opaque surface below the aircraft on which the shadow isvisible; and detect the visible distinction along the aircraft flightvector to determine that the shadow exists.